from django.shortcuts import render,redirect,reverse
from django.http import *
from App.models import *
# Create your views here.

# 首页
def index(request):
    return render(request,'index.html')

# 用户列表
def user_list(request):
    users=UserModels.objects.all()
    return render(request,'user_list.html',{'users':users})

# 用户详情
def user_detail(request,uid):
    print('uid:',uid)
    user=UserModels.objects.get(pk=uid) # pk: primary key 主键

    return render(request,'userdetail.html',{'user':user})

# 多个参数
def user_ab_viem(request,a,b):
    return HttpResponse(f'a:{a}-b:{b}')

def user_ba_viem(request,b,a):
    return HttpResponse(f'a:{a}-b:{b}')

# 重定向
def my_redirect(request):
    # 不带参数，没有使用reverse()函数反向解析
    # return redirect('https://www.baidu.com')
    # return redirect('/user/userlist/')
    # return redirect(reverse('userlist'))
    # return redirect('/user/userdetail/2/')

    # 反向解析
    # reverse('App:userdetail', args=(1,)) = 'userdetail/1/'
    # 带命名空间的写法
    # return redirect(reverse('App:userdetail',args=[3,])) # 位置参数传参，args类型可以是元组、数组
    # return redirect(reverse('App:userdetail',kwargs={'uid':2})) # 关键字传参，kwargs类型为字典

    # 不带命名空间
    return redirect(reverse('userdetail',args=(1,))) # 位置参数传参